예제 #1
0
        void notice_defence_plusses(Player.Player p)
        {
            Misc.assert(kind != null);

            if (defence_plusses_are_visible())
            {
                return;
            }

            if (add_ident_flags(IDENT_DEFENCE))
            {
                check_for_ident();
            }

            if (ac != 0 || to_a != 0)
            {
                //char o_name[80];
                string o_name = object_desc(Detail.BASE);
                Utilities.msgt(Message_Type.MSG_PSEUDOID, "You know more about the {0} you are wearing.", o_name);
            }

            p.update |= (Misc.PU_BONUS);
            Game_Event.signal(Game_Event.Event_Type.INVENTORY);
            Game_Event.signal(Game_Event.Event_Type.EQUIPMENT);
        }
예제 #2
0
        public void notice_attack_plusses()
        {
            Misc.assert(kind != null);

            if (attack_plusses_are_visible())
            {
                return;
            }

            if (add_ident_flags(IDENT_ATTACK))
            {
                check_for_ident();
            }


            if (wield_slot() == Misc.INVEN_WIELD)
            {
                //char o_name[80];
                string o_name = object_desc(Detail.BASE);
                Utilities.msgt(Message_Type.MSG_PSEUDOID,
                               "You know more about the %s you are using.",
                               o_name);
            }
            else if ((to_d != 0 || to_h != 0) &&
                     !((tval == TVal.TV_HARD_ARMOR || tval == TVal.TV_SOFT_ARMOR) && (to_h < 0)))
            {
                //char o_name[80];
                string o_name = object_desc(Detail.BASE);
                Utilities.msgt(Message_Type.MSG_PSEUDOID, "Your {0} glows.", o_name);
            }

            Misc.p_ptr.update |= (Misc.PU_BONUS);
            Game_Event.signal(Game_Event.Event_Type.INVENTORY);
            Game_Event.signal(Game_Event.Event_Type.EQUIPMENT);
        }
예제 #3
0
    public override void OnInspectorGUI()
    {
        serializedObject.Update();

        var list     = serializedObject.FindProperty("Event_Index");
        var readOnly = serializedObject.FindProperty("readOnly");

        if (GUILayout.Button("Auto"))
        {
            int child = myEventManager.transform.childCount;
            list.arraySize = 0;
            for (int i = 0; i < child; i++)
            {
                Game_Event gameEvent = myEventManager.transform.GetChild(i).GetComponent <Game_Event>();
                list.InsertArrayElementAtIndex(i);
                list.GetArrayElementAtIndex(i).objectReferenceValue = gameEvent;
            }
        }

        readOnly.boolValue = GUILayout.Toggle(readOnly.boolValue, "READ ONLY");

        if (readOnly.boolValue)
        {
            EditorGUI.BeginDisabledGroup(true);
            EditorGUILayout.PropertyField(list, true);
            EditorGUI.EndDisabledGroup();
        }
        else
        {
            EditorGUILayout.PropertyField(list, true);
        }

        serializedObject.ApplyModifiedProperties();
    }
예제 #4
0
        public override void OnInspectorGUI()
        {
            base.OnInspectorGUI();

            GUI.enabled = Application.isPlaying;

            Game_Event e = target as Game_Event;

            if (GUILayout.Button("Raise"))
            {
                e.Raise();
            }
        }
예제 #5
0
        /**
         * Notice things which happen on defending.
         */
        public static void object_notice_on_defend(Player.Player p)
        {
            int i;

            for (i = Misc.INVEN_WIELD; i < Misc.INVEN_TOTAL; i++)
            {
                if (p.inventory[i].kind != null)
                {
                    p.inventory[i].notice_defence_plusses(p);
                }
            }

            Game_Event.signal(Game_Event.Event_Type.INVENTORY);
            Game_Event.signal(Game_Event.Event_Type.EQUIPMENT);
        }
예제 #6
0
        /*
         * Notice a single flag - returns true if anything new was learned
         */
        public bool notice_flag(int flag)
        {
            if (!known_flags.has(flag))
            {
                known_flags.on(flag);

                /* XXX Eddie don't want infinite recursion if object_check_for_ident sets more flags,
                 * but maybe this will interfere with savefile repair
                 */
                check_for_ident();
                Game_Event.signal(Game_Event.Event_Type.INVENTORY);
                Game_Event.signal(Game_Event.Event_Type.EQUIPMENT);
                return(true);
            }

            return(false);
        }
예제 #7
0
 public flag_event_trigger(uint f, Game_Event.Event_Type e)
 {
     flag = f;
     evt =e;
 }