Ejemplo n.º 1
0
    public void LoadAssetEffectProgressBuild()
    {
        if (containerEffectsBuild == null)
        {
            return;
        }

        if (assetEffectProgressBuildCode != BaseDataObjectKeys.none &&
            lastAssetEffectProgressBuildCode != assetEffectProgressBuildCode)
        {
            lastAssetEffectProgressBuildCode = assetEffectProgressBuildCode;

            GameObject go = AppContentAssets.LoadAssetEffects(assetEffectProgressBuildCode);

            if (go != null)
            {
                containerEffectsBuild.DestroyChildren();
                go.transform.parent = containerEffectsBuild.transform;
                go.TrackObject(containerEffectsBuild);
            }
        }
    }
Ejemplo n.º 2
0
    public void LoadAssetPlatform()
    {
        if (containerAssetsPlatforms == null)
        {
            return;
        }

        if (assetPlatformCode != BaseDataObjectKeys.none &&
            lastAssetPlatformCode != assetPlatformCode)
        {
            lastAssetPlatformCode = assetPlatformCode;

            GameObject go = AppContentAssets.LoadAssetLevelAssets(assetPlatformCode);

            if (go != null)
            {
                containerAssetsPlatforms.DestroyChildren();
                go.transform.parent = containerAssetsPlatforms.transform;
                go.TrackObject(containerAssetsPlatforms);
            }
        }
    }
Ejemplo n.º 3
0
    private void Dead()
    {
        if (!string.IsNullOrEmpty(effectDestroy))
        {
            AppContentAssets.LoadAssetEffects(
                effectDestroy, transform.position, transform.rotation);
        }

        if (gamePlayerController != null)
        {
            gamePlayerController.Die();
        }
        else if (gameZoneActionAsset != null)
        {
            gameZoneActionAsset.AssetAnimationPlayNormalized(0f);
        }
        else
        {
            if (enableObjectRemove)
            {
                GameObjectHelper.DestroyGameObject(this.gameObject, true);
            }
        }
    }
Ejemplo n.º 4
0
    public void LoadAsset()
    {
        if (containerAssets == null)
        {
            return;
        }

        if (isActionCodeSave)
        {
            return;
        }

        if (assetCode != BaseDataObjectKeys.none &&
            lastAssetCode != assetCode)
        {
            lastAssetCode = assetCode;

            if (gameCharacter == null)
            {
                return;
            }

            assetAnimationNameIdle =
                gameCharacter.data.GetAnimationsByTypeIdle().code;

            assetAnimationNamePlay =
                gameCharacter.data.GetAnimationsByTypeStart().code;

            GameObject go = AppContentAssets.LoadAssetLevelAssets(
                gameCharacter.data.GetModel().code);

            if (go != null)
            {
                containerAssets.DestroyChildren();
                go.transform.parent = containerAssets.transform;
                go.TrackObject(containerAssets);


                if (isActionCodeAttack || isActionCodeDefend)
                {
                    // Add game damage

                    Collider goCollider = go.GetOrSet <Collider>();

                    if (goCollider != null)
                    {
                        gameDamageManager =
                            goCollider.gameObject.GetOrSet <GameDamageManager>();
                        gameDamageManager.audioHit           = "attack-hit-1";
                        gameDamageManager.effectDestroy      = "effect-explosion";
                        gameDamageManager.enableObjectRemove = false;
                        gameDamageManager.HP = hitPoints;

                        gameDamageManager.UpdateGameObjects();
                    }
                }

                AssetAnimationReset();
            }
        }
    }
Ejemplo n.º 5
0
    public virtual void PlayProjectiles()
    {
        if (gameWeaponData.data.HasProjectiles())
        {
            foreach (GameDataItemProjectile projectile in gameWeaponData.data.projectiles)
            {
                GameObject projectilePrefab =
                    AppContentAssets.LoadAssetPrefab("weapon", projectile.code);

                GameObject projectileExplosionPrefab =
                    AppContentAssets.LoadAssetPrefab("weapon", "projectile-explosion-star-1");

                if (projectilePrefab != null)
                {
                    GameObject projectileObject =
                        GameObjectHelper.CreateGameObject(
                            projectilePrefab,
                            containerProjectiles.transform.position,
                            containerProjectiles.transform.rotation,
                            true);

                    // TODO add to configs
                    // add components

                    DetachToWorld detachToWorld = projectileObject.Get <DetachToWorld>();
                    if (detachToWorld == null)
                    {
                        detachToWorld = projectileObject.AddComponent <DetachToWorld>();
                    }

                    DestroyObjectTimed destroyObjectTimed = projectileObject.Get <DestroyObjectTimed>();
                    if (destroyObjectTimed == null)
                    {
                        destroyObjectTimed = projectileObject.AddComponent <DestroyObjectTimed>();
                    }
                    destroyObjectTimed.delay = 5f;

                    SpawnOnContact spawnOnContact = projectileObject.Get <SpawnOnContact>();
                    if (spawnOnContact == null)
                    {
                        spawnOnContact = projectileObject.AddComponent <SpawnOnContact>();
                    }
                    spawnOnContact.objectToCreate = projectileExplosionPrefab;

                    GameObjectMove gameObjectMove = projectileObject.Get <GameObjectMove>();
                    if (gameObjectMove == null)
                    {
                        gameObjectMove = projectileObject.AddComponent <GameObjectMove>();
                    }
                    gameObjectMove.translationSpeedX = 0f;
                    gameObjectMove.translationSpeedY = 0f;
                    gameObjectMove.translationSpeedZ = 20f;
                    gameObjectMove.local             = true;

                    BoxCollider projectileCollider = projectileObject.Get <BoxCollider>();
                    if (projectileCollider == null)
                    {
                        projectileCollider = projectileObject.AddComponent <BoxCollider>();
                    }

                    Rigidbody projectileBody = projectileObject.Get <Rigidbody>();
                    if (projectileBody == null)
                    {
                        projectileBody = projectileObject.AddComponent <Rigidbody>();
                    }
                    projectileBody.mass                   = .001f;
                    projectileBody.angularDrag            = .0f;
                    projectileBody.useGravity             = false;
                    projectileBody.collisionDetectionMode = CollisionDetectionMode.ContinuousDynamic;
                }
            }
        }
    }