Beispiel #1
0
        public UseItemAction(GameObject _repObject)
            : base("Use Item", "Utilize a selected item.", _repObject, null)
        {
            //TODO: Move this shit into EnviromentAction as methods to modify PushedFrames.

            //  --- [ Select an Item ] ---  //
            EnviromentSelect_FrameMeta getItem =
                new EnviromentSelect_FrameMeta(
                    SelectionType.FromGiven,
                    RepObject.GetGameObjects <GameObject>()
                    );  //TODO: Make an ItemObject GameObject

            getItem.SelectionMade += () =>
            {
                SelectedObject = getItem.GetSelectedAs <GameObject>(); //TODO: Above ^
            };

            //  --- [ Get Action ] ---  //
            EnviromentSelect_FrameMeta getAction = new EnviromentSelect_FrameMeta(
                SelectionType.FromGiven,
                RepObject.GetActions <GameAction>()
                );  //TODO: Make an PossessibleAction GameAction

            getAction.SelectionMade += () =>
            {
                SelectedAction = getAction.GetSelectedAs <GameAction>(); //TODO: Above ^
            };

            PushedFrames = new FrameMeta[]
            {
                getItem,
                getAction
            };
        }
        public AttackWithAction(GameObject _repObject)
            : base("Attack", "Attack with a selected means at a selected target.", _repObject, null)
        {
            //  --- [ Select Attack Method ] ---  //

            EnviromentSelect_FrameMeta getAttackMethod =
                new EnviromentSelect_FrameMeta(
                    SelectionType.FromGiven,
                    RepObject.GetActions <GameAction>()
                    ); //TODO: Make AttackAction action.

            getAttackMethod.SelectionMade += () =>
            {
                AttackMethod = getAttackMethod.GetSelectedAs <GameAction>();
            };

            //  --- [ Select a Target ] --- //

            EnviromentSelect_FrameMeta getTarget =
                new EnviromentSelect_FrameMeta(SelectionType.FromEnviroment);

            getTarget.SelectionMade += () => { Victim = getTarget.GetSelectedAs <GameObject>(); };

            //  --- [ Finish Init ] --- //

            PushedFrames = new FrameMeta[]
            {
                getAttackMethod,
                getTarget
            };
        }