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); } } }
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); } } }
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); } } }
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(); } } }
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; } } } }