Slowdive's Little Daily Blog

Discuss anything in general about the IceBlink Engine + Toolset project (or anything else) here.

Re: Slowdive's Little Daily Blog

Postby Dorateen » Sat Dec 16, 2017 3:34 pm

Yes, I think the smaller icons is better. The text is readable, which should be the focus of the conversation editor. The last image you posted looks presentable. Scrolling will be invaluable if you work with sprawling dialogues.
User avatar
Dorateen
Backer
Backer
 
Posts: 910
Joined: Mon Nov 26, 2012 2:08 pm

Re: Slowdive's Little Daily Blog

Postby youngneil1 » Sat Dec 16, 2017 11:00 pm

I agree, too. The smaller spacing is perfect imho :) . Once you get scrolling in, you have the full monty. It is amazing that you can realize this on the small screen.
User avatar
youngneil1
Backer
Backer
 
Posts: 4656
Joined: Sat Dec 08, 2012 7:51 am

Re: Slowdive's Little Daily Blog

Postby slowdive » Sun Dec 17, 2017 8:59 pm

YEAH! Full capability scrolling is in (at least the the PC version so far with mouse wheel). Now I need to add "expand all" and "collapse all" buttons so I don't have to click on each node one at a time :lol:

So at this point is is working the same as the IB version as far as navigating the conversation.
User avatar
slowdive
Site Admin
Site Admin
 
Posts: 2991
Joined: Wed Nov 21, 2012 11:58 pm

Re: Slowdive's Little Daily Blog

Postby youngneil1 » Mon Dec 18, 2017 6:37 am

Big gratz on this milestone :D ! It will make setting up complex convos much easier. A hold tap and drag event (if such exists) on the whole main convo screen might be great for scrolling on mobiles.
User avatar
youngneil1
Backer
Backer
 
Posts: 4656
Joined: Sat Dec 08, 2012 7:51 am

Re: Slowdive's Little Daily Blog

Postby slowdive » Mon Dec 18, 2017 4:35 pm

Last night I made the code updates in Android as well so they are both in sync again. Android has a touch and drag scrolling in for convo editor. I'd like to add some physics to it though for flick and momentum.
User avatar
slowdive
Site Admin
Site Admin
 
Posts: 2991
Joined: Wed Nov 21, 2012 11:58 pm

Re: Slowdive's Little Daily Blog

Postby youngneil1 » Tue Dec 19, 2017 7:17 am

Great progress there - scroll physics surely will be fun and add to a natural handling feel. If they prove hasslesome though scrolling without extra oomph is great anyway.
User avatar
youngneil1
Backer
Backer
 
Posts: 4656
Joined: Sat Dec 08, 2012 7:51 am

Re: Slowdive's Little Daily Blog

Postby slowdive » Tue Dec 19, 2017 5:36 pm

Last night I worked on creating common functions for asking for string inputs. This function would be one line of code that would be the same for all OS ports. The function called would be platform different, but the call line would be the exact same. This has been tricky because the PC version allowed for blocking the UI the while waiting for it input, but the Android code will not. So I need some callback function in Android that is listening for the user to finalize their input and then change the property to the new string.
User avatar
slowdive
Site Admin
Site Admin
 
Posts: 2991
Joined: Wed Nov 21, 2012 11:58 pm

Re: Slowdive's Little Daily Blog

Postby slowdive » Wed Dec 20, 2017 5:04 am

I did my best, but it looks like the two function calls will be slightly different. Hopefully this will still result in quick porting from PC to android with all the inputs needed in the toolset.
PC set a string:
Code: Select all
public void changeConvoFileName()
{
    string title = "Change the Conversation Filename.";
    currentConvo.ConvoFileName = gv.DialogReturnString(title, currentConvo.ConvoFileName);
}

Here is the method being called in the GameView class:
Code: Select all
public string DialogReturnString(string headerText, string existingTextInputValue)
        {
            using (TextInputDialog itSel = new TextInputDialog(this, headerText, existingTextInputValue))
            {
                var ret = itSel.ShowDialog();

                if (ret == DialogResult.OK)
                {
                    if (itSel.textInput.Length > 0)
                    {
                        return itSel.textInput;
                    }
                    else
                    {
                        MessageBox.Show("Entering a blank name is not allowed");
                        return existingTextInputValue;
                    }
                }
                return existingTextInputValue;
            }
        }


Android set a string:
Code: Select all
public void changeConvoFileName()
    {
        String title = "Change the Conversation Filename.";
        gv.DialogReturnString(title, currentConvo.ConvoFileName
                ,new GameView.OnOkString()
                {
                    @Override
                    public void hereIsYourText(String text)
                    {
                        currentConvo.ConvoFileName = text;
                    }
                }
                );
    }


Here is the method being called in the GameView class (and the interface):
Code: Select all
interface OnOkString
    {
        void hereIsYourText (String text);
    }
    public void DialogReturnString(String headerText, String existingTextInputValue, final OnOkString onOkay)
    {
        AlertDialog.Builder builder = new AlertDialog.Builder(gameContext);
        builder.setTitle(headerText);

        // Set up the input
        final EditText input = new EditText(gameContext);
        input.setText(existingTextInputValue, TextView.BufferType.EDITABLE);
        input.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES);
        builder.setView(input);

        // Set up the buttons
        builder.setPositiveButton("OK", new DialogInterface.OnClickListener()
        {
            @Override
            public void onClick(DialogInterface dialog, int which)
            {
                if (input.getText().toString().length() > 0)
                {
                    onOkay.hereIsYourText(input.getText().toString());
                }
                else
                {
                    Toast.makeText(gameContext, "Entering a blank is not allowed", Toast.LENGTH_SHORT).show();
                }
            }
        });

        builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener()
        {
            @Override
            public void onClick(DialogInterface dialog, int which)
            {
                dialog.cancel();
            }
        });

        builder.show();
    }
User avatar
slowdive
Site Admin
Site Admin
 
Posts: 2991
Joined: Wed Nov 21, 2012 11:58 pm

Re: Slowdive's Little Daily Blog

Postby youngneil1 » Wed Dec 20, 2017 8:11 am

That looks like a tricky probelm - I imagine it's a lot of work to figure out to set all of this up. When working on normal IB I have the luxury of walking in your foot steps, a bit like modding deluxe. Setting all of this up in the first place is the real brain hurter - so big respect for this :) .
User avatar
youngneil1
Backer
Backer
 
Posts: 4656
Joined: Sat Dec 08, 2012 7:51 am

Re: Slowdive's Little Daily Blog

Postby slowdive » Fri Dec 22, 2017 4:55 am

I spent the last two nights working on implementing all the node type functions in the convo editor such as add, remove, copy, copy as link, relocate, move up, move down, etc. I also added the functions for editing all the conditionals and actions. I still need to implement a system as mentioned before where the parameters of different scripts are detected and an intelligent list of options are presented to the builder to select from...that'll be fun :lol:

Side Note: I finally got a new phone (had a Note 3 for many years and still have it as I will continue to use it for dev and testing). I decided to get an iPhone X so I guess the next step will be for me to invest in a Mac since you must have a Mac in order to compile code for iOS development. Eventually, I figure we will have IBbasic on all major platforms (PC, iOS, and Android). I just need to learn Swift, but that shouldn't be too hard as it seems more user friendly like C# and Java than Objective-C. I've had a number of iOS devices over the years (original iPod, iPod Touch 4th gen, iPad mini 1st gen, and my wife has had an iPhone 6..not plus) so I am familiar with the OS a bit.
User avatar
slowdive
Site Admin
Site Admin
 
Posts: 2991
Joined: Wed Nov 21, 2012 11:58 pm

PreviousNext

Return to General IceBlink Project Discussions

Who is online

Users browsing this forum: No registered users and 3 guests

cron