protected static bool CheckPositionFlagEnable(PosDirUtility.PositionFlagType positionFlagType) { switch (positionFlagType) { case PosDirUtility.PositionFlagType.Self: return(SystemConfig.IsSelfSyncPointFlagOn); case PosDirUtility.PositionFlagType.Player: case PosDirUtility.PositionFlagType.Pet: case PosDirUtility.PositionFlagType.Monster: return(SystemConfig.IsPetAndMonsterSyncPointFlagOn); default: return(false); } }
public static void AddPositionFlag(PosDirUtility.PositionFlagType positionFlagType, Vector3 position) { if (!PosDirUtility.CheckPositionFlagEnable(positionFlagType)) { return; } GameObject go = (GameObject)Object.Instantiate(AssetManager.AssetOfNoPool.LoadAssetNowNoAB(PosDirUtility.GetPositionFlagAssetName(positionFlagType), typeof(Object))); go.set_name(PosDirUtility.GetPositionFlagGameObjectName(positionFlagType)); go.get_transform().set_parent(PosDirUtility.FlagPool.get_transform()); go.get_transform().set_position(position); TimerHeap.AddTimer((uint)PosDirUtility.PositionFlagRemainTime, 0, delegate { Object.DestroyImmediate(go, true); }); }
protected static string GetPositionFlagAssetName(PosDirUtility.PositionFlagType positionFlagType) { switch (positionFlagType) { case PosDirUtility.PositionFlagType.Self: return("Flag_Self"); case PosDirUtility.PositionFlagType.Player: return("Flag_Pet"); case PosDirUtility.PositionFlagType.Pet: return("Flag_Pet"); case PosDirUtility.PositionFlagType.Monster: return("Flag_Monster"); default: return("Flag_Pet"); } }