示例#1
0
    /// <summary>
    /// Skill listを作る.
    /// </summary>
    /// <param name="sa">Skill Array.</param>
    /// <param name="sd">Skill Date.</param>
    public void CreateSkillList(E_Delegate[] sa, string sd)
    {
        SkillCollect sc = JsonUtility.FromJson <SkillCollect> (sd);

        for (int i = 0; i < sa.Length; i++)
        {
            sc.skills[i].skillMethod = sa [i];
            skillList.Add(sc.skills[i]);
        }
    }
示例#2
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();
        }