示例#1
0
 public AmmoCrate(RenderObject rep) : base(rep)
 {
     SetRotation(Vector3.Zero);
     //TODO: Load from xml (not there yet)?
     SetSize(new Vector3(36, 44, 0));
     AmmoCrateCollectEventList = new GameEventList();
 }
示例#2
0
 public Trap(RenderObject closedTrapRep, RenderObject openTrapRep, Character owner) : base(openTrapRep)
 {
     this.closedTrapRep = closedTrapRep;
     this.openTrapRep   = openTrapRep;
     this.Owner         = owner;
     SetRotation(Vector3.Zero);
     //TODO: Load from xml (not there yet)?
     SetSize(new Vector3(60, 35, 0));
     TrapTouchEventList   = new GameEventList();
     TrapCollectEventList = new GameEventList();
 }
    public void BeginEventTest(GameEventList eventList)
    {
        if (gameObject.active == false)
        {
            gameObject.SetActive(true);
        }

        _GameEvent = eventList.GetSelectedEvent();

        BeginEvent();
    }
示例#4
0
    void OnGUI()
    {
        if (GUILayout.Button("Create New List"))
        {
            eventList = ScriptableObject.CreateInstance <GameEventList>();
            List <GameEventTable> eventTables = new List <GameEventTable>();
            AssetDatabase.CreateAsset(eventList, path);
            AssetDatabase.SaveAssets();
        }

        if (GUI.changed)
        {
            EditorUtility.SetDirty(eventList);
        }
    }
 void Start()
 {
     _gameEvents = JsonUtility.FromJson <GameEventList>(gameEventsFile.text);
     foreach (GameEvent ge in _gameEvents.events)
     {
         if (ge.triggered)
         {
             _triggeredEvents.Add(ge);
         }
         else
         {
             _randomEvents.Add(ge);
         }
     }
     eventScript = EventScreenScript.Instance();
     eventScript.StartEvent(GetEventByID(0)); //Starts introductory event
 }
示例#6
0
        public Treasure(RenderObject rep) : base(rep)
        {
            SetRotation(Vector3.Zero);
            //TODO: Load from xml (not there yet)?
            Sprite sprite = rep as Sprite;

            if (sprite != null)
            {
                SetSize(new Vector3(sprite.Texture.Width, sprite.Texture.Height, 0f));
            }
            else
            {
                //TODO :set size if treasure isn't represented by a sprite
            }

            TreasureCollectEventList = new GameEventList();
        }
示例#7
0
        public Foliage(RenderObject rep, Scene scene, Vector3 positionForContent) : base(rep)
        {
            CharacterCutEventList = new GameEventList();
            Active      = true;
            this.scene  = scene;
            this.random = scene.Random;

            spritesheet = rep as Spritesheet;
            Moving      = spritesheet != null;

            this.PositionForContent = positionForContent;

            if (Moving)
            {
                animNumber         = 1 + random.Next(3);
                animDuration       = spritesheet.GetAnimation("Undergrowth0" + animNumber).Duration + 1000 + random.Next(3000);
                animRestartCounter = 0f;
            }
        }
示例#8
0
  public void AddEvent (GameEvent e)
  {
    if (e == null || e.eventName == "")
      return;

    GameEventList eventList;

    if (_eventMap.ContainsKey(e.eventName))
    {
      eventList = _eventMap[e.eventName];
      eventList.AddEvent(e);
    }
    else
    {
      eventList = new GameEventList();
      eventList.AddEvent(e);
      _eventMap.Add(e.eventName, eventList);
    }
  }
示例#9
0
 public int this[string eventType]
 {
     get
     {
         var e = GameEventList.Find((ge) => { return(ge.EventType == eventType); });
         return(e == null ? 0 : e.Severity);
     }
     set
     {
         var e = GameEventList.Find((ge) => { return(ge.EventType == eventType); });
         if (e == null)
         {
             GameEventList.Add(new GameEvent {
                 EventType = eventType, Severity = value
             });
         }
         else
         {
             e.Severity = value;
         }
     }
 }
示例#10
0
        public override void InitCharacter(Vector3 position)
        {
            var playerIndex = ((Player)possessedBy)?.GetPlayerIndex();

            if (playerIndex != null)
            {
                Rectangle characterStartPos = scene.CharacterStartPos[(int)playerIndex];
                SetSize(new Vector3(characterStartPos.Width, characterStartPos.Height, 0f));
            }
            else
            {
                // i.e. for AI
                if (rep is Spritesheet)
                {
                    Spritesheet repSpritesheet = (Spritesheet)rep;
                    rep.SetSize(new Vector3(repSpritesheet.SpriteWidth, repSpritesheet.SpriteHeight, 0f));
                    SetSize(new Vector3(repSpritesheet.SpriteWidth, repSpritesheet.SpriteHeight, 0f));
                }
            }

            SetPosition(position);

            CharacterPhysics = new CharacterPhysics(this, position, size, HitboxOffset, scene);

            (rep as Spritesheet)?.SetVisibilityLayer(1, false);

            skillShoot   = new SkillShoot(scene, this, CharacterPhysics, CharacterConfig.SKILL_COOLDOWN_SHOOT);
            skillCut     = new SkillCut(scene, this, CharacterPhysics, CharacterConfig.SKILL_COOLDOWN_CUT);
            skillCollect = new SkillCollect(scene, this, CharacterPhysics, CharacterConfig.SKILL_COOLDOWN_COLLECT);
            skillTrap    = new SkillTrap(scene, this, this.CharacterPhysics, CharacterConfig.SKILL_COOLDOWN_TRAP);

            characterTreasureLostEventList = new GameEventList();
            TrapDropEventList = new GameEventList();

            AddTrap();
        }
示例#11
0
 void OnEnable()
 {
     eventList = AssetDatabase.LoadAssetAtPath(path,
                                               typeof(GameEventList)) as GameEventList;
 }