public Avatar CreateAvatar(AvatarDefinition avatarDefinition, int objectId, Vector3 pos, bool dispatchWorldListener) { Avatar avatar; if (avatarDefinition.id == "player") { avatar = new Player(world, avatarDefinition, objectId); this.player = avatar as Player; } else if (avatarDefinition.id == "player_remote") { avatar = new Player(world, avatarDefinition, objectId); } else { avatar = new Avatar(world, avatarDefinition, objectId); avatar.AddComponent(new AvatarComponentIA()); } avatar.position = pos; avatars.Add(avatar); if (dispatchWorldListener) world.cwListener.CreateObject(avatar); return avatar; }
public GameObject CreateAvatarGameObject(CubeWorld.Avatars.Avatar avatar) { GameObject g; AvatarUnity avatarUnity; if (avatar.definition.id == "player") { g = (GameObject)GameObject.Instantiate(Resources.Load("Prefabs/Player", typeof(GameObject))); avatarUnity = g.GetComponent <PlayerUnity>(); gameManagerUnity.playerUnity = g.GetComponent <PlayerUnity>(); gameManagerUnity.playerUnity.gameManagerUnity = gameManagerUnity; gameManagerUnity.playerUnity.avatar = avatar; gameManagerUnity.playerUnity.Reset(); } else { g = new GameObject(); avatarUnity = (NonPlayerAvatarUnity)g.AddComponent(typeof(NonPlayerAvatarUnity)); avatarUnity.gameManagerUnity = gameManagerUnity; avatarUnity.avatar = avatar; } unityAvatars.Add(avatarUnity); return(g); }
public override void DestroyAvatar(CubeWorld.Avatars.Avatar avatar) { baseGameplay.DestroyAvatar(avatar); server.SendToEveryone( new MultiplayerAction( MultiplayerAction.Action.AVATAR_DESTROY, new String[] { avatar.objectId.ToString() }), avatar.objectId ); }
public virtual void DestroyAvatar(Avatar avatar) { world.avatarManager.DestroyAvatar(avatar); }
public void DestroyAvatar(Avatar avatar) { avatar.Clear(); avatars.Remove(avatar); world.cwListener.DestroyObject(avatar); }