Example #1
0
        /// <Summary>
        /// Copy constructor of base parts.
        /// </Summary>
        /// <param name="baseParts">Base parts data for copying.</param>
        public AriadneEventParts(AriadneEventParts baseParts)
        {
            eventCategory = baseParts.eventCategory;
            eventTrigger  = baseParts.eventTrigger;
            eventPos      = baseParts.eventPos;

            startCondition     = baseParts.startCondition;
            startFlagName      = baseParts.startFlagName;
            startItemId        = baseParts.startItemId;
            startNum           = baseParts.startNum;
            comparisonOperator = baseParts.comparisonOperator;

            hasExecutedFlag  = baseParts.hasExecutedFlag;
            executedFlagName = baseParts.executedFlagName;

            doorKeyType = baseParts.doorKeyType;

            destDungeon = baseParts.destDungeon;
            destMap     = baseParts.destMap;
            destPos     = baseParts.destPos;
            direction   = baseParts.direction;

            treasureType = baseParts.treasureType;
            itemId       = baseParts.itemId;
            itemNum      = baseParts.itemNum;

            msgList = new List <string>();
            foreach (string msg in baseParts.msgList)
            {
                msgList.Add(msg);
            }
        }
Example #2
0
        /// <Summary>
        /// Returns IAriadneEventStrategy component that corresponds to the event category.
        /// </Summary>
        /// <param name="eventCategory">The event category to execute.</param>
        public IAriadneEventStrategy GetEventExecuter(AriadneEventCategory eventCategory)
        {
            Component component = (Component)gameObject.GetComponent <IAriadneEventStrategy>();

            if (component != null)
            {
                Destroy(component);
            }

            IAriadneEventStrategy iStrategy = null;

            switch (eventCategory)
            {
            case AriadneEventCategory.None:
                iStrategy = gameObject.AddComponent <EventNone>();
                break;

            case AriadneEventCategory.Door:
                iStrategy = gameObject.AddComponent <EventDoor>();
                break;

            case AriadneEventCategory.LockedDoor:
                iStrategy = gameObject.AddComponent <EventLockedDoor>();
                break;

            case AriadneEventCategory.MovePosition:
                iStrategy = gameObject.AddComponent <EventMovePosition>();
                break;

            case AriadneEventCategory.Treasure:
                iStrategy = gameObject.AddComponent <EventTreasure>();
                break;

            case AriadneEventCategory.Messenger:
                iStrategy = gameObject.AddComponent <EventMessenger>();
                break;

            case AriadneEventCategory.ExitPosition:
                iStrategy = gameObject.AddComponent <EventExitDungeon>();
                break;
            }

            return(iStrategy);
        }
Example #3
0
 /// <Summary>
 /// Constructor of the EventMappingData.
 /// </Summary>
 public EventMappingData(int id, string eventName, int eventIndex, AriadneEventCondition cond, AriadneEventCategory eventCat, string mapFile, string mapName, Vector2Int pos)
 {
     this.eventId        = id;
     this.eventName      = eventName;
     this.eventIndex     = eventIndex;
     this.startCondition = cond.ToString();
     this.eventCategory  = eventCat.ToString();
     this.mapFileName    = mapFile;
     this.mapName        = mapName;
     this.pos            = pos;
 }