Example #1
0
        public void AddCommandToChain(AbilityCommandInfo slaveCommand)
        {
            if (CommandSequence == 0)
            {
                if (NextCommand == null)
                {
                    NextCommand = slaveCommand;
                    slaveCommand.LastCommand = this;
                }
                else
                {
                    NextCommand.AddCommandToChain(slaveCommand);
                }
            }
            else
            {
                if (slaveCommand.CommandSequence < CommandSequence)
                {
                    LastCommand.NextCommand  = slaveCommand;
                    slaveCommand.LastCommand = LastCommand;
                    LastCommand = slaveCommand;
                    slaveCommand.NextCommand = this;
                }

                else if (NextCommand == null)
                {
                    NextCommand = slaveCommand;
                    slaveCommand.LastCommand = this;
                }
                else
                {
                    NextCommand.AddCommandToChain(slaveCommand);
                }
            }
        }
Example #2
0
        public void AddCommandToChain(BuffCommandInfo slaveCommand)
        {
            if (CommandSequence == 0)
            {
                if (NextCommand == null)
                {
                    NextCommand = slaveCommand;
                    slaveCommand.LastCommand = this;
                }
                else
                {
                    NextCommand.AddCommandToChain(slaveCommand);
                }
            }
            else
            {
                if (slaveCommand.CommandSequence <= CommandSequence)
                {
                    LastCommand.NextCommand  = slaveCommand;
                    slaveCommand.LastCommand = LastCommand;

                    // Handle chains of commands
                    while (slaveCommand.NextCommand != null)
                    {
                        slaveCommand = slaveCommand.NextCommand;
                    }

                    LastCommand = slaveCommand;
                    slaveCommand.NextCommand = this;
                }

                else if (NextCommand == null)
                {
                    NextCommand = slaveCommand;
                    slaveCommand.LastCommand = this;
                }
                else
                {
                    NextCommand.AddCommandToChain(slaveCommand);
                }
            }
        }