Пример #1
0
    public IEnumerator LoadCharacterParam(string characterId, int index, Action <CharacterParams, int, string> result)
    {
        BattleDebug.Log(string.Concat(new object[]
        {
            "--- モンスター単体ロード characterId[",
            characterId,
            "] index[",
            index,
            "] : 開始"
        }));
        GameObject prefab    = base.stateManager.serverControl.GetCharacterPrefab(characterId);
        GameObject character = base.Instantiate <GameObject>(prefab);

        yield return(null);

        character.name = characterId;
        character.transform.SetParent(base.battleStateData.characterRoot);
        character.transform.position = Vector3.zero;
        character.transform.rotation = Quaternion.identity;
        CharacterParams characterParams = character.GetComponent <CharacterParams>();
        CapsuleCollider col             = characterParams.GetComponent <CapsuleCollider>();

        col.radius = 1.03f;
        if (base.battleStateData.useCharacterShadow)
        {
            characterParams.SetShadowObject();
            yield return(null);
        }
        characterParams.PlayAnimation(CharacterAnimationType.idle, SkillType.Attack, 0, null, null);
        yield return(null);

        characterParams.Initialize(base.hierarchyData.cameraObject.camera3D);
        GameObject      hasColliderObject = characterParams.collider.gameObject;
        BattleStateData battleStateData   = base.battleStateData;

        battleStateData.characterColliderLayerMask |= 1 << hasColliderObject.layer;
        character.gameObject.SetActive(false);
        result(characterParams, index, characterId);
        BattleDebug.Log(string.Concat(new object[]
        {
            "--- モンスター単体ロード characterId[",
            characterId,
            "] index[",
            index,
            "] : 完了"
        }));
        yield break;
    }
Пример #2
0
    private IEnumerator LoadDigimon(string modelId)
    {
        string     path     = MonsterObject.GetFilePath(modelId);
        GameObject resource = AssetDataMng.Instance().LoadObject(path, null, true) as GameObject;

        yield return(null);

        this.digimon = UnityEngine.Object.Instantiate <GameObject>(resource);
        CharacterParams param = this.digimon.GetComponent <CharacterParams>();

        param.SetShadowObject();
        this.digimon.SetActive(false);
        yield return(null);

        this.digimon.transform.parent        = base.transform;
        this.digimon.transform.localPosition = Vector3.zero;
        this.digimon.transform.localRotation = Quaternion.identity;
        this.digimon.transform.localScale    = Vector3.one;
        this.digimon.tag = "Farm.Chara";
        resource         = null;
        Resources.UnloadUnusedAssets();
        yield break;
    }